//获取和生成 显示验证消息的span元素
function getMessageSpan(obj){
	var tagname=obj.get(0).tagName;
	 var divobj=null;
	 if(tagname=="DIV")
		 divobj=obj;
	 else
		 divobj=obj.closest("div");
	 var msgspanobj=divobj.children("span");
	     msgspanobj.remove();
		 msgspanobj=$('<span class="help-block" ></span>');
		 divobj.append(msgspanobj);
	 return msgspanobj;
}
//生成提示信息  obj 为对象 ，不是id
function showMsgSpan(obj,message){
	 obj.find("select").css("border-color","#ed5565");
	 var msgspanobj=getMessageSpan(obj);
	 msgspanobj.html(message);
 	 msgspanobj.closest("div").addClass("has-error");
}
//关闭提示信息
function hiddenMsgSpan(obj){
	 obj.find("select").css("border-color","#CCCCCC");
	 var msgspanobj=getMessageSpan(obj);
	 msgspanobj.html("");
	 msgspanobj.closest("div").removeClass("has-error");
}
//验证空
function checknull(textobj){
	var text=textobj.val();
	var msgspanobj=getMessageSpan(textobj);
    text=$.trim(text);
    var res=false;
    var mess="";
    if(text==""){
	    mess="输入不能为空！";
	    res=false;
    }else{
    	res=true;
    }
    if(!res){
    	msgspanobj.html(mess);
    	msgspanobj.closest("div").addClass("has-error");
	} else {
		msgspanobj.html("");
		msgspanobj.closest("div").removeClass("has-error");
	}
     return res;
}
//现在字母和数字 不验证顺序 
function isNumberOrLetter(textobj){
	var text=textobj.val();
	var msgspanobj=getMessageSpan(textobj);
    text=$.trim(text);
    var res=false;
    var mess="";
    if(text==""){
	    mess="只能输入字母或者数字！";
	    res=false;
    }else{
    	res=true;
    }
    if(!res){
    	msgspanobj.html(mess);
    	msgspanobj.closest("div").addClass("has-error");
	} else {
		msgspanobj.html("");
		msgspanobj.closest("div").removeClass("has-error");
	}
     return res;
}
function isNumOrLetter(text){
    var reg = new RegExp("^[A-Za-z0-9_-]+$");  
    return reg.test(text);
}
function isNumOrLetter2(text){
    var reg = new RegExp("^[A-Za-z0-9\(\)\+_/-]+$");  
    return reg.test(text);
}
//验证数组是否包含某个元素
function arryContain(textobj,arry,msg){
	var text=textobj.val();
	var msgspanobj=getMessageSpan(textobj);
    text=$.trim(text);
    var ind=arry.indexOf(text);
    var res=false;
    if(ind>=0){
    	res=false;
    	msgspanobj.html(msg);
    	msgspanobj.closest("div").addClass("has-error");
	} else {
		res=true;
		msgspanobj.html("");
		msgspanobj.closest("div").removeClass("has-error");
	}
     return res;
}
//验证正整整数
function isInteger(textobj){
	var text=textobj.val();
	var msgspanobj=getMessageSpan(textobj);
    text=$.trim(text);
    if(text==""){
    	msgspanobj.html("");
		msgspanobj.closest("div").removeClass("has-error");
    	return true;
    }
    var reg = new RegExp("^[0-9]*$");  
    var res=  reg.test(text);
    var mess="";
    if(!res){
    	mess="只能输入数字！";
    }else{
    	if(text.length>1&&text.substring(0,1)=="0"){
    	 mess="数字不能以0开始！";
    	 res=false;
    	} 
    }
    if(!res){
    	msgspanobj.html(mess);
    	msgspanobj.closest("div").addClass("has-error");
	} else {
		msgspanobj.html("");
		msgspanobj.closest("div").removeClass("has-error");
	}
     return res;
}

//时间格式简单验证，正则表达式需完善
function isFormatTime(textobj,format){
	checknull(textobj);
	var text=textobj.val();
	var msgspanobj=getMessageSpan(textobj);
	var res = false;
	var mes = "";
	if(format=='yyyy-MM-dd'){
		if(/^\d{4}\-\d{2}\-\d{2}$/.test(text)){
			res = true;
			mes = "";
		}else{
			res = false;
			mes = "时间格式必须为yyyy-MM-dd";
		}
	}
	if(format=='yyyy-MM-dd hh:mm'){
		if (/^\d{4}\-\d{2}\-\d{2}[T ]\d{2}\:\d{2}$/.test(text)){
			res = true;
			mes = "";
		}else{
			res = false;
			mes = "时间格式必须为yyyy-MM-dd hh:mm";
		}
	}
	if(format=='yyyy-MM-dd hh:mm:ss'){
		if (/^\d{4}\-\d{2}\-\d{2}[T ]\d{2}\:\d{2}\:\d{2}$/.test(text)){
			res = true;
			mes = "";
		}else{
			res = false;
			mes = "时间格式必须为yyyy-MM-dd hh:mm:ss";
		}
	}
	 if(!res){
	    	msgspanobj.html(mess);
	    	msgspanobj.closest("div").addClass("has-error");
	} else {
			msgspanobj.html("");
			msgspanobj.closest("div").removeClass("has-error");
	}
	 return res;
	
}

//上传图片图片大小验证
  // input  是jquery 对象
  //types 类型为图片后缀 字符串   用逗号分隔  PNG,JPG
function  validateImageType(input,typestr){
	var filepath=input.val();
	var extStart=filepath.lastIndexOf(".");
	  var ext=filepath.substring(extStart,filepath.length).toUpperCase();
	  typestr=typestr.toUpperCase();
	  var types=typestr.split(",");
	  var res=false;
	  var mess="";
	  for(var i=0;i<types.length;i++){
		  if(ext==types[i]){
			  res=true;
		  }
		  mess=mess+"  "+ext;
	  }
	  return res;
}

//验证上传图片大小
 //图片大小  maxsize 单位为 k
function  validateImageSize(input,maxsize){
	var filepath=input.val();
	 var brow=$.browser;
	  if(brow==undefined)
		  brow=$.support;
	 if (brow.msie) {
         var img = new Image();
         img.src = filepath;
         while (true) {
             if (img.fileSize > 0) {
                 if (img.fileSize > maxsize) {
                     return false;
                 } 
             }
         }
         return true;
     } else {
         file_size = input[0].files[0].size;
         var size = file_size / 1024;
         if (size > maxsize) {
             return false;
         } else{
        	 return true;
         }
     }
}
/**
 * start time is smaller than end time
 * @param father
 * @param self
 * @returns boolean
 */
function validateTimeBigger(startTime,endTime){
	if(startTime && endTime){
		return Date.parse(startTime)<=Date.parse(endTime);
	}else{
		return true;
	}
}
/**
 * url 验证
 */
function isURL(str_url) {
	var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
		+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" // ftp的user@
		+ "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
		+ "|" // 允许IP和DOMAIN（域名）
		+ "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
		+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
		+ "[a-z]{2,6})" // first level domain- .com or .museum
		+ "(:[0-9]{1,4})?" // 端口- :80
		+ "((/?)|" // a slash isn't required if there is no file name
		+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
		var re = new RegExp(strRegex);
		return re.test(str_url);
		}